Packet switched communications systems transport many different types of telecommunications traffic, such as voice, data, and multimedia traffic, which originates from a large variety of applications. A network operator may provide a variety of services that uses the different types of traffic and having a variety of charging schemes.
For some services, e.g. streaming, it is suitable to apply a time-based charging in contrast to other services e.g. internet browsing, where volume related charging is the only possible (usage related) charging method. The choice between time-based , volume-based and service based charging is made in relation to what the subscribers are willing to pay for and also to achieve an accepted understandable charging method. E.g., for a streaming application such as a video stream, it is understandable for the user to pay for consumed time that he has watched the video.
A subscription may have one or more users. The subscription is either a pre-paid or a post-paid subscription, which implies that the subscriber, either in the pre-paid case pays an amount in advance, i.e. prior the service(s) is (are) utilised or in the post-paid case pays for e.g. the time or data volume that he actually has used during a certain period of time. In order to support pre-paid subscriptions, the charging solution has to have “real-time” properties. This is particularly important when a prepaid subscriber's credit account is empty, service execution (in this case packet forwarding) must be immediately affected. When a subscriber account is empty, the operator wants to block at least all services that are subject for charging, since the operator wants to have credit control in addition to prevent loosing money because of non-payment for consumed services. Some free of charge services may still be open for the subscriber like refill of the account, call to emergency numbers, self-care pages and in some cases also reception of SMS/MMS messages.
Thus, it is desirable to be able to perform a differentiated rating on the packet level based on the service. Performing differentiated rating on the packet level raises however a fundamental challenge, since rating is a complex process involving many input parameters such as tariff plan, time and volume thresholds, subscriber profile, etc., while the packet forwarding should be executed with lowest possible latency. Thus, packet forwarding systems and rating engines, respectively, have different system requirements.
Herein, the charging system according to prior art is called a “multiple token bucket” system. Such a system comprises a control system and a packet forwarding system as disclosed in FIG. 1. The control system 101 comprises a rating engine 102 and credit accounts 103. The packet forwarding system 104 comprises one token bucket 105 per service flow 106 and user which results in multiple token buckets 105 for every logged-in user provided that multiple services are used.
When a user logs into the communication system, the packet forwarding system 104 initiates a control signalling sequence to the control system 101 for each service. The control system 101 reserves a preconfigured amount of credit towards the subsciber's credit account, wherein this amount is called a “credit reservation”. The control system 101 determines the set of services this user is allowed to use. The set of identifiers for these allowed services are sent to the packet forwarding system. For each service identifier, the packet forwarding system 104 initiates a resource reservation signalling sequence towards the control system. For each such sequence, the service is rated by the rating engine 102 of the control system 101, using a tariff plan. The rating value is used to translate parts of the credit reservation into a “resource reservation” (typically data volume related), which is sent back to the packet forwarding system 104. Each resource reservation is put into a specific resource token bucket 105. Thus, the packet forwarding system 104 contains multiple token buckets 105, one for each allowed service per user.
When traffic is flowing through the communication system the packet forwarding system 104 classifies each packet to determine which service flow it belongs to. Then the token bucket 105 for that service is decremented. When a token bucket 105 is empty, the usage is confirmed towards the control system and a new resource reservation is done.
Thus, the multiple token bucket solution that performs per-packet real-time charging in a packet switched communication system, wherein the packets are charged differently dependent on which service flow the packets belong to, requires a separate resource reservation signalling sequence for each service flow in the set of allowed services. This creates a large amount of signalling traffic between the control system and the packet forwarding system. In addition, it requires high processing capabilities in the control and the packet forwarding system, respectively, and high capacity transport between said systems.
Furthermore, the multiple token bucket solution have other drawbacks since unnecessary reservations are performed. In the multiple token bucket case, a pre-configured amount of resources is reserved for each service, wherein the credit reservation of each token bucket is dedicated for a specific service flow. That implies that credit reservations made for services not being used cannot be utilised for another service that actually is being used. Thus, this results in the above unnecessary reservations. Moreover, the problem gets worse as the number of services increases.
Another possible solution is to use several GPRS Access points Names (APN) in a mobile telecommunication network for differentiating between different consumer service flows. An APN is a label of one or more service flows in a mobile cellular network. However, this solution has disadvantages due to APN configuration management, in e.g. terminal and network, as well as IP address handling in the terminal. Thus, this solution requires additional management for the operator to setup and control.
Network operators prefer hence a solution with multiple services per APN, preferably one APN for all service flows.